Under a loaded system, don't give up ballooning dom0 unless it's not
responding at all.
Signed-off-by: Ryan Scott <ryan.scott@sun.com>
retries = 0
sleep_time = SLEEP_TIME_GROWTH
last_new_alloc = None
+ last_free = None
rlimit = RETRY_LIMIT
while retries < rlimit:
physinfo = xc.physinfo()
time.sleep(sleep_time)
if retries < 2 * RETRY_LIMIT:
sleep_time += SLEEP_TIME_GROWTH
- retries += 1
+ if last_free != None and last_free >= free_mem + scrub_mem:
+ retries += 1
+ last_free = free_mem + scrub_mem
# Not enough memory; diagnose the problem.
if dom0_min_mem == 0: